home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-19 | 10.2 KB | 431 lines | [TEXT/MPS ] |
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: Locrian:WWDCSun:CPlusPlus:ODMemory.xh.
- * Generated using:
- * SOM Precompiler somipc: somc/smemit.c
- * SOM Emitter emitxh.dll: somc/smmain.c
- */
-
- /*
- *
- * Forward declarations
- *
- */
-
-
- #ifndef SOM_ODMemoryHeap_xh
- #define SOM_ODMemoryHeap_xh
-
- class ODMemoryHeap;
-
- #define ODMemoryHeap_MajorVersion 0
- #define ODMemoryHeap_MinorVersion 0
-
- /* C++ som defs */
- #include <somcls.xh>
-
- /* Include C++ parent defs */
- #ifndef SOM_SOMObject_xh
- #include <somobj.xh>
- #endif
-
- #ifndef ODMemoryHeap_API
- #define ODMemoryHeap_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
- typedef
- unsigned long ODMemoryHeap_ODBlockSize;
-
- /*
- * ----- Method declarations
- */
-
- #ifndef SOM_DONT_USE_SHORT_NAMES
- #ifndef SOMTGD_ODBlockSize
- #ifdef ODBlockSize
- #undef ODBlockSize
- #define SOMTGD_ODBlockSize 1
- #else
- #define ODBlockSize ODMemoryHeap_ODBlockSize
- #endif /* ODBlockSize */
- #endif /* SOMTGD_ODBlockSize */
- #endif /* SOM_DONT_USE_SHORT_NAMES */
-
- /*
- * End of user-defined types.
- */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export on
- #endif
-
-
- /* A procedure to create the ODMemoryHeap Class */
- class M_ODMemoryHeap;
- SOMEXTERN M_ODMemoryHeap * SOMLINK ODMemoryHeapNewClass(
- integer4 majorVersion,
- integer4 minorVersion);
-
- /* The API to the ODMemoryHeap class object, and the methods it introduces. */
- typedef struct ODMemoryHeapClassDataStructure {
- M_ODMemoryHeap *classObject;
- somMToken Allocate;
- somMToken BlockSize;
- somMToken BytesAllocated;
- somMToken BytesFree;
- somMToken Free;
- somMToken GetZapOnAllocate;
- somMToken GetZapOnFree;
- somMToken HeapSize;
- somMToken NumberAllocatedBlocks;
- somMToken Reset;
- somMToken Reallocate;
- somMToken SetZapOnAllocate;
- somMToken SetZapOnFree;
- somMToken SetObjectHeap;
- } ODMemoryHeapClassDataStructure;
- #ifdef SOM_NO_DATA_EXPORTS
- SOMEXTERN ODMemoryHeapClassDataStructure * ODMemoryHeapGetClassData ( void );
- # undef ODMemoryHeapClassData
- # define ODMemoryHeapClassData (*ODMemoryHeapGetClassData())
- #else
- SOMEXTERN ODMemoryHeapClassDataStructure ODMemoryHeapClassData;
- #endif /* SOM_NO_DATA_EXPORTS */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export off
- #endif
-
- #define _ODMemoryHeap ODMemoryHeapClassData.classObject
-
- /* The API to parentMtabs for ODMemoryHeap, and the instance data it introduces. */
- SOMEXTERN struct ODMemoryHeapCClassDataStructure {
- somMethodTabs parentMtab;
- somDToken instanceDataToken;
- } ODMemoryHeapCClassData;
-
- /*
- * -- Typedefs for Procedures that support Methods introduced by ODMemoryHeap
- */
- SOMEXTERN {
- typedef void* (* SOMLINK somTD_ODMemoryHeap_Allocate)(ODMemoryHeap *somSelf, Environment *ev,
- ODMemoryHeap_ODBlockSize size);
- typedef ODMemoryHeap_ODBlockSize (* SOMLINK somTD_ODMemoryHeap_BlockSize)(ODMemoryHeap *somSelf, Environment *ev,
- void* block);
- typedef unsigned long (* SOMLINK somTD_ODMemoryHeap_BytesAllocated)(ODMemoryHeap *somSelf, Environment *ev);
- typedef unsigned long (* SOMLINK somTD_ODMemoryHeap_BytesFree)(ODMemoryHeap *somSelf, Environment *ev);
- typedef void (* SOMLINK somTD_ODMemoryHeap_Free)(ODMemoryHeap *somSelf, Environment *ev,
- void* ptr);
- typedef boolean (* SOMLINK somTD_ODMemoryHeap_GetZapOnAllocate)(ODMemoryHeap *somSelf, Environment *ev);
- typedef boolean (* SOMLINK somTD_ODMemoryHeap_GetZapOnFree)(ODMemoryHeap *somSelf, Environment *ev);
- typedef unsigned long (* SOMLINK somTD_ODMemoryHeap_HeapSize)(ODMemoryHeap *somSelf, Environment *ev);
- typedef unsigned long (* SOMLINK somTD_ODMemoryHeap_NumberAllocatedBlocks)(ODMemoryHeap *somSelf, Environment *ev);
- typedef void (* SOMLINK somTD_ODMemoryHeap_Reset)(ODMemoryHeap *somSelf, Environment *ev);
- typedef void* (* SOMLINK somTD_ODMemoryHeap_Reallocate)(ODMemoryHeap *somSelf, Environment *ev,
- void* block,
- ODMemoryHeap_ODBlockSize newSize);
- typedef void (* SOMLINK somTD_ODMemoryHeap_SetZapOnAllocate)(ODMemoryHeap *somSelf, Environment *ev,
- boolean zapOnAllocate);
- typedef void (* SOMLINK somTD_ODMemoryHeap_SetZapOnFree)(ODMemoryHeap *somSelf, Environment *ev,
- boolean zapOnFree);
- }
-
- #endif /* ODMemoryHeap_API */
-
-
- /*
- * -- Method Tokens are Thunks
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
- /*
- * -- The C++ Wrapper Class for ODMemoryHeap
- */
- class ODMemoryHeap : public SOMObject
- {
- public:
-
- void *operator new(size_t size)
- {
- SOM_IgnoreWarning(size);
- if (!ODMemoryHeapClassData.classObject)
- ODMemoryHeapNewClass(ODMemoryHeap_MajorVersion,ODMemoryHeap_MinorVersion);
- return (void *)
- ((somTD_SOMClass_somNew)
- somresolve_((SOMObject *)((void*)(ODMemoryHeapClassData.classObject)),
- SOMClassClassData.somNew))
- ((SOMClass *)((void*)(ODMemoryHeapClassData.classObject)));
- }
-
- void operator delete(void * obj)
- {
- ((SOMObject *)obj)->somFree();
- }
-
- /* Override somGetClass for this class to specialize the return type. */
- M_ODMemoryHeap* somGetClass()
- {
- return (M_ODMemoryHeap *) ((void *)(SOMObject::somGetClass()));
- }
-
- /* public method: Allocate */
- void* Allocate(Environment *ev,
- ODMemoryHeap_ODBlockSize size)
- {
- return SOM_Resolve(this,ODMemoryHeap,Allocate)
- (this,ev,size);
- }
-
-
- /* public method: BlockSize */
- ODMemoryHeap_ODBlockSize BlockSize(Environment *ev,
- void* block)
- {
- return SOM_Resolve(this,ODMemoryHeap,BlockSize)
- (this,ev,block);
- }
-
-
- /* public method: BytesAllocated */
- unsigned long BytesAllocated(Environment *ev)
- {
- return SOM_Resolve(this,ODMemoryHeap,BytesAllocated)
- (this,ev);
- }
-
-
- /* public method: BytesFree */
- unsigned long BytesFree(Environment *ev)
- {
- return SOM_Resolve(this,ODMemoryHeap,BytesFree)
- (this,ev);
- }
-
-
- /* public method: Free */
- void Free(Environment *ev,
- void* ptr)
- {
- SOM_Resolve(this,ODMemoryHeap,Free)
- (this,ev,ptr);
- }
-
-
- /* public method: GetZapOnAllocate */
- boolean GetZapOnAllocate(Environment *ev)
- {
- return SOM_Resolve(this,ODMemoryHeap,GetZapOnAllocate)
- (this,ev);
- }
-
-
- /* public method: GetZapOnFree */
- boolean GetZapOnFree(Environment *ev)
- {
- return SOM_Resolve(this,ODMemoryHeap,GetZapOnFree)
- (this,ev);
- }
-
-
- /* public method: HeapSize */
- unsigned long HeapSize(Environment *ev)
- {
- return SOM_Resolve(this,ODMemoryHeap,HeapSize)
- (this,ev);
- }
-
-
- /* public method: NumberAllocatedBlocks */
- unsigned long NumberAllocatedBlocks(Environment *ev)
- {
- return SOM_Resolve(this,ODMemoryHeap,NumberAllocatedBlocks)
- (this,ev);
- }
-
-
- /* public method: Reset */
- void Reset(Environment *ev)
- {
- SOM_Resolve(this,ODMemoryHeap,Reset)
- (this,ev);
- }
-
-
- /* public method: Reallocate */
- void* Reallocate(Environment *ev,
- void* block,
- ODMemoryHeap_ODBlockSize newSize)
- {
- return SOM_Resolve(this,ODMemoryHeap,Reallocate)
- (this,ev,block,newSize);
- }
-
-
- /* public method: SetZapOnAllocate */
- void SetZapOnAllocate(Environment *ev,
- boolean zapOnAllocate)
- {
- SOM_Resolve(this,ODMemoryHeap,SetZapOnAllocate)
- (this,ev,zapOnAllocate);
- }
-
-
- /* public method: SetZapOnFree */
- void SetZapOnFree(Environment *ev,
- boolean zapOnFree)
- {
- SOM_Resolve(this,ODMemoryHeap,SetZapOnFree)
- (this,ev,zapOnFree);
- }
-
-
-
- }; /* ODMemoryHeap */
-
-
-
- #endif /* SOM_ODMemoryHeap_xh */
-
- #ifndef SOM_M_ODMemoryHeap_xh
- #define SOM_M_ODMemoryHeap_xh
-
- class M_ODMemoryHeap;
-
- #define M_ODMemoryHeap_MajorVersion 0
- #define M_ODMemoryHeap_MinorVersion 0
-
- /* C++ som defs */
- #include <somcls.xh>
-
- /* Include C++ parent defs */
- #ifndef SOM_SOMClass_xh
- #include <somcls.xh>
- #endif
-
- #ifndef M_ODMemoryHeap_API
- #define M_ODMemoryHeap_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
-
- /*
- * End of user-defined types.
- */
-
- /*
- * -- M_ODMemoryHeap is a metaclass for ODMemoryHeap. Make sure ODMemoryHeap is known.
- */
- class ODMemoryHeap;
-
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export on
- #endif
-
-
- /* A procedure to create the M_ODMemoryHeap Class */
- SOMEXTERN SOMClass * SOMLINK M_ODMemoryHeapNewClass(
- integer4 majorVersion,
- integer4 minorVersion);
-
- /* The API to the M_ODMemoryHeap class object, and the methods it introduces. */
- typedef struct M_ODMemoryHeapClassDataStructure {
- SOMClass *classObject;
- somMToken ODMemoryHeapCreate;
- } M_ODMemoryHeapClassDataStructure;
- #ifdef SOM_NO_DATA_EXPORTS
- SOMEXTERN M_ODMemoryHeapClassDataStructure * M_ODMemoryHeapGetClassData ( void );
- # undef M_ODMemoryHeapClassData
- # define M_ODMemoryHeapClassData (*M_ODMemoryHeapGetClassData())
- #else
- SOMEXTERN M_ODMemoryHeapClassDataStructure M_ODMemoryHeapClassData;
- #endif /* SOM_NO_DATA_EXPORTS */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export off
- #endif
-
- #define _M_ODMemoryHeap M_ODMemoryHeapClassData.classObject
-
- /* The API to parentMtabs for M_ODMemoryHeap, and the instance data it introduces. */
- SOMEXTERN struct M_ODMemoryHeapCClassDataStructure {
- somMethodTabs parentMtab;
- somDToken instanceDataToken;
- } M_ODMemoryHeapCClassData;
-
- /*
- * -- Typedefs for Procedures that support Methods introduced by M_ODMemoryHeap
- */
- SOMEXTERN {
- typedef ODMemoryHeap* (* SOMLINK somTD_M_ODMemoryHeap_ODMemoryHeapCreate)(M_ODMemoryHeap *somSelf, Environment *ev,
- unsigned long initialSize,
- unsigned long incrementSize);
- }
-
- #endif /* M_ODMemoryHeap_API */
-
-
- /*
- * -- Method Tokens are Thunks
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
- /*
- * -- The C++ Wrapper Class for M_ODMemoryHeap
- */
- class M_ODMemoryHeap : public SOMClass
- {
- public:
-
- void *operator new(size_t size)
- {
- SOM_IgnoreWarning(size);
- if (!M_ODMemoryHeapClassData.classObject)
- M_ODMemoryHeapNewClass(M_ODMemoryHeap_MajorVersion,M_ODMemoryHeap_MinorVersion);
- return (void *)
- ((somTD_SOMClass_somNew)
- somresolve_((SOMObject *)((void*)(M_ODMemoryHeapClassData.classObject)),
- SOMClassClassData.somNew))
- ((SOMClass *)((void*)(M_ODMemoryHeapClassData.classObject)));
- }
-
- void operator delete(void * obj)
- {
- ((SOMObject *)obj)->somFree();
- }
-
- /* Override somNew for this Metaclass to specialize the return type. */
- ODMemoryHeap* somNew()
- {
- return (ODMemoryHeap *) ((void *)(SOMClass::somNew()));
- }
-
- /* public method: ODMemoryHeapCreate */
- ODMemoryHeap* ODMemoryHeapCreate(Environment *ev,
- unsigned long initialSize,
- unsigned long incrementSize)
- {
- return SOM_Resolve(this,M_ODMemoryHeap,ODMemoryHeapCreate)
- (this,ev,initialSize,incrementSize);
- }
-
-
-
- }; /* M_ODMemoryHeap */
-
-
-
- #endif /* SOM_M_ODMemoryHeap_xh */
-